Mai 18

Richard Kaiser

C++17 pmr Allokatoren und STL Container in Embedded Anwendungen

C++17 pmr Allokatoren und STL Container in Embedded Anwendungen von Richard Kaiser


Vom 17. bis 19. Mai fand die „ ADC++ Konferenz 2021“ in München statt.

Video zum Vortrag von Richard Kaiser mit dem Titel "C++17 pmr Allokatoren und STL Container in Embedded Anwendungen" anlässlich der ADC++ 2021.

In der Voreinstellung reservieren die Container der C++ Standardbibliothek ihren Speicher mit new und geben ihn mit delete wieder frei. Diese Aufrufe haben keine determinierten Ausführungszeiten und können zu einer Speicherfragmentierung führen. In vielen embedded Anwendungen kann das nicht toleriert werden. Die AUTOSAR Regel A18-5-5 verlangt, dass Speicherverwaltungsfunktionen die folgenden Anforderungen erfüllen müssen: (a) deterministic behavior resulting with the existence of worst-case execution time, (b) avoiding memory fragmentation, (c) avoid running out of memory, (d) avoiding mismatched allocations or deallocations, (e) no dependence on non-deterministic calls to kernel. Deshalb dürfen die Container der C++ Standardbibliothek in solchen Anwendungen nicht verwendet werden. Mit C++17 kann man STL Container aber doch auch in vielen embedded Anwendungen verwenden. Die neuen Allokatoren aus dem namespace std::pmr (polymorphic memory resources) können so verwendet werden, dass die Anforderungen (a), (b) und (e) erfüllt werden. Da (d) für die STL erfüllt ist, können die Container der C++ Standardbibliothek mit diesen pmr Allokatoren verwendet werden, wenn man (c) zusichern kann. Das ist für viele (aber nicht alle) embedded Anwendungen möglich. Damit kann man das erste Mal in der Geschichte von C++ die Vorteile der STL Container in einem großen Teil der embedded Welt nutzen.

Auf unserem Video-Portal studios.ppedv.de findet man eine breite Basis an Informationen rund um das Thema IT.

Die Schwerpunkte bilden dabei nicht nur Microsoft-Technologien. Themen wie Visual Studio, .net, C++, C#, Angular JS und viele mehr werden von unseren professionellen Trainern detailliert erklärt.


"Vielen Dank für die hilfreichen Videos! Der Inhalt ist auf den Punkt gebracht."

Thomas M.

"Euer Content hilft mir sehr! Besonders interessieren würde ich mich für weitere Videos zum Thema: C++ Parallelisierung und die Erstellung von grafischen Benutzeroberflächen."

Peter H.

"Für jeden was dabei, egal ob Anfänger oder Profi."

Klaus G.

"Echt super, dass ich mir die Vorträge von den SQLdays hier ansehen kann. Leider konnte ich letztes Jahr bei der Konferenz nicht vor Ort sein."

Lana A.